Lazy Object Passing in Java RMI
نویسندگان
چکیده
Though often criticized for its inherent synchronization overhead and coupling, the remote method invocation (RMI) paradigm remains one of the most popular abstractions for building distributed applications. Many authors have suggested ways to overcome its drawbacks focusing mostly on the invoker’s perspective, for example by multiplexing invocations to replicated server objects, through “future” return values, or even by prohibiting return values altogether. The more global perspective, and in particular the invokee side, has conversely only received little attention. In this paper we take a fresh look at the RMI paradigm, elaborating on argument passing semantics. We identify three lazy ways of passing arguments by value, di↵ering by the moment at which the transfer of the arguments synchronizes with the execution of the method body. We present a preliminary library implementation of our argument passing semantics in Java RMI, and illustrate their individual benefits through examples. We characterize analytically and empirically application scenarios which benefit from lazy argument passing.
منابع مشابه
DeXteR- An Extensible Framework for Declarative Parameter Passing in Distributed Object Systems
In modern distributed object systems, reference parameters are passed to a remote method based on their runtime type. We argue that such type-based parameter passing is limiting with respect to expressiveness, readability, and maintainability, and that parameter passing semantics should be decoupled from parameter types. We present declarative parameter passing, an approach that fully decouples...
متن کاملCCJ: object-based message passing and collective communication in Java
CCJ is a communication library that adds MPI-like message passing and collective operations to Java. Rather than trying to adhere to the precise MPI syntax, CCJ aims at a clean integration of communication into Java’s object-oriented framework. For example, CCJ uses thread groups to support Java’s multithreading model and it allows any data structure (not just arrays) to be communicated. CCJ is...
متن کاملComparison and Performance Study of Parameter-Passing Semantics and Implementations of Remote Method Invocation
Remote method invocation (RMI), which is an action of invoking a method on a remote object, is widely accepted abstraction for communicating and sharing objects among distributed sites. Ideally, the parameter-passing semantics of RMI should be as close as possible to that of local method invocation. However, in distributed environments, adherence to local parameter-passing model prevents contro...
متن کاملGeneralizing Java RMI to Support Efficient Group Communication
This paper presents a generalization of the Java Remote Method Invocation model (RMI) providing an efficient group communication mechanism for parallel programming. In our Group Method Invocation model (GMI), methods can be invoked on a local object, on a remote object or on a group of objects (possibly with personalized parameters). Likewise, result values and exceptions can be returned normal...
متن کاملJMPI: Implementing the Message Passing Standard in Java
The Message Passing Interface (MPI) standard provides a uniform Application Programmers Interface (API) that abstracts the underlying hardware from the parallel ap-s the underlying hardware from the parallel applications. Recent research efforts have extended the MPI standard to Java either through wrapper implementations or as subsets of larger parallel infrastructures. In this paper, we descr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013